<?php
/**
 * 百度鹰眼 Relation 关系维护开放接口
 * 
 * 不同的设备在位置监护中发挥的作用不同，上传位置信息的设备一般称为被控设备，下拉位置信息的设备一般称为主控设备。
 * 主控设备可以关注多个被控设备，被控设备也可以被多个主控设备关注。关系维护主要包括设备的注册以及关系建立、关系删除三部分。
 */
class LbsRelation extends LbsApiBasic 
{
	public function __construct($service_id=0){
		parent::__construct('relation');
		$this->setServiceId($service_id);
	}
	
	/**
	 * 通过service_id，主控设备的唯一标识master_name以及被控设备的唯一标识track_name来建立主控设备与被控设备二者之间的关系。
	 *
	 * @param String $master 主控设备的唯一标识
	 * @param String $track 被控设备的唯一标识
	 * @param String $description 被控设备的描述信息，如昵称等
	 * @return Boolean
	 */
	public function create($master,$track,$desc='')
	{
		$data = array('master_name'=>$master,'track_name'=>$track,'description'=>$desc);
		if($res = $this->post('create',$data)){
			return true;
		}else{
			return false;
		}
	}
	
	/**
	 * 通过service_id以及主控设备的master_name查询自己监护的被控设备的列表。
	 *
	 * @param String $master 主控设备唯一标识
	 * @return Array
	 */
	public function detail($master)
	{
		$data = array('master_name'=>$master);
		if($res = $this->get('detail',$data)){
			return $res;
		}else{
			return false;
		}
	}
	
	/**
	 * 通过service_id，主控设备的唯一标识master_name以及被控设备的唯一标识track_name来删除主控设备与被控设备二者之间的关系。
	 *
	 * @param String $master 主控设备唯一标识
	 * @param String $track 被控设备的唯一标识
	 * @return Array
	 */
	public function delete($master,$track)
	{
		$data = array('master_name'=>$master,'track_name'=>$track);
		if($res = $this->post('delete',$data)){
			return true;
		}else{
			return false;
		}
	}
	
}
?>